package cn.iocoder.yudao.module.design.controller.admin.flowtask.vo;

import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.module.infra.controller.admin.file.vo.file.FileRespVO;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Tag(name = "管理后台 - 待办任务分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class FlowTaskPageReqVO extends PageParam {

    @Schema(description = "任务名称")
    private String taskName;

    @Schema(description = "任务类型")
    private String taskType;

    @Schema(description = "项目id")
    private Long houseId;

    @Schema(description = "项目名称")
    private String projectName;

    @Schema(description = "流程id")
    private Long flowId;

    @Schema(description = "流程名称")
    private String flowName;

    @Schema(description = "节点id")
    private Long nodeId;

    @Schema(description = "节点名称")
    private String nodeName;

    @Schema(description = "处理人id")
    private Long dealerId;

    @Schema(description = "任务内容")
    private String taskContent;

    @Schema(description = "归属的前置任务id")
    private Long preId;

    @Schema(description = "后置任务ids")
    private String nextIds;

    @Schema(description = "实施前置ids")
    private String mustIds;

    @Schema(description = "任务状态")
    private String statusCd;

    @Schema(description = "备注")
    private String remark;

    @Schema(description = "开始时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date[] startTime;

    @Schema(description = "完成时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date[] finishTime;

    @Schema(description = "创建日期")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date[] createTime;
    @Schema(description = "文件列表")
    List<FileRespVO> docList;


    @Schema(description = "图片列表")
    List<FileRespVO> fileList;
    /**
     * 任务等级 低 正常  中等 优先 紧急
     */
    @Schema(description = "任务等级")
    private String taskLevel;

    @Schema(description = "任务子类型")
    private String itemType;
}
